
package ud12.adapter;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class TraductoresFactory {
	private static TraductoresFactory traductoresFactory;
	private static ITraductor adaptador;
	
	private TraductoresFactory() {
	}	
	
	public static TraductoresFactory getTraductoresFactory() {
		if (traductoresFactory==null) {
			traductoresFactory=new TraductoresFactory();
		}
		return traductoresFactory;
	}
	
	public ITraductor getTraductorAdapter() {
		if (adaptador==null) {
			FileReader fileReader=null;
			
			//Carga del fichero
			try {
				fileReader=new FileReader("src/ud12/adapter/dat/idioma.ini");
			} catch (FileNotFoundException e1) {
				System.out.println("Error al abrrir idioma.ini");
				e1.printStackTrace();
			}
			
			//Apertura del fichero
			BufferedReader bufferedReader=new BufferedReader(fileReader);
			
			String nombreAdaptador="";
			try {
				nombreAdaptador=bufferedReader.readLine();
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			
			//Carga del adaptador
			try {
				adaptador=(ITraductor)Class.forName(nombreAdaptador).newInstance();
			} catch (InstantiationException e) {
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				e.printStackTrace();
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
		}
		return adaptador;
	}
}
